package com.mall.module.system.service;

import com.github.pagehelper.PageInfo;
import com.mall.module.system.domain.entity.SysConfig;

import java.util.List;

/**
 * 系统配置服务接口
 */
public interface SysConfigService {
    
    /**
     * 分页查询系统配置
     * 
     * @param pageNum 页码
     * @param pageSize 每页记录数
     * @param configKey 配置键
     * @param configName 配置名称
     * @return 分页数据
     */
    PageInfo<SysConfig> listConfigPage(Integer pageNum, Integer pageSize, String configKey, String configName);
    
    /**
     * 根据配置键获取配置
     * 
     * @param configKey 配置键
     * @return 配置信息
     */
    SysConfig getConfigByKey(String configKey);
    
    /**
     * 根据ID获取配置
     * 
     * @param id 配置ID
     * @return 配置信息
     */
    SysConfig getConfigById(Long id);
    
    /**
     * 新增配置
     * 
     * @param config 配置信息
     * @return 结果
     */
    boolean addConfig(SysConfig config);
    
    /**
     * 修改配置
     * 
     * @param config 配置信息
     * @return 结果
     */
    boolean updateConfig(SysConfig config);
    
    /**
     * 删除配置
     * 
     * @param id 配置ID
     * @return 结果
     */
    boolean deleteConfig(Long id);
    
    /**
     * 批量删除配置
     * 
     * @param ids 配置ID数组
     * @return 结果
     */
    boolean deleteConfigByIds(List<Long> ids);
} 